package com.cougil.uoc.seghismed.model.ciphed;

import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * Entitat de negoci que representa pròpiament a un Pacient amb la seva informació xifrada
 * @author Ignacio Cougil Jares
 */

@Entity
@Table(
        name="PACIENT_CIPHED"
)
public class PacientCiphed extends UsuariCiphed {
	
	@Transient
    private byte[] grupSanguiniCiphed;
	
	@Transient
    private Set<AlergiaCiphed> alergiesCiphed;
	
	@Transient
    private HistorialCiphed historialCiphed;
	

	/**
	 * @return Retorna el valor de la propietat grupSanguiniCiphed
	 */
	public byte[] getGrupSanguiniCiphed() {
		return grupSanguiniCiphed;
	}
	/**
	 * @param Estableix grupSanguiniCiphed com a valor de la propietat grupSanguiniCiphed
	 */
	public void setGrupSanguiniCiphed(byte[] grupSanguiniCiphed) {
		this.grupSanguiniCiphed = grupSanguiniCiphed;
	}
	/**
	 * @return Retorna el valor de la propietat alergiesCiphed
	 */
	public Set<AlergiaCiphed> getAlergiesCiphed() {
		return alergiesCiphed;
	}
	/**
	 * @param Estableix alergiesCiphed com a valor de la propietat alergiesCiphed
	 */
	public void setAlergiesCiphed(Set<AlergiaCiphed> alergiesCiphed) {
		this.alergiesCiphed = alergiesCiphed;
	}
	/**
	 * @return Retorna el valor de la propietat historialCiphed
	 */
	public HistorialCiphed getHistorialCiphed() {
		return historialCiphed;
	}
	/**
	 * @param Estableix historialCiphed com a valor de la propietat historialCiphed
	 */
	public void setHistorialCiphed(HistorialCiphed historialCiphed) {
		this.historialCiphed = historialCiphed;
		if (this.historialCiphed != null) this.historialCiphed.setPacientCiphed(this);
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
			.appendSuper(super.toString())
			.append("grupSanguiniCiphed", grupSanguiniCiphed)
			.append("alergiesCiphed", alergiesCiphed)
			.append("historialCiphed", historialCiphed)
			.toString();
	}

}
